/*
 *
 * Copyright (c) 2001-2002 RagingCat Project.
 * LGPL License.
 * http://code.google.com/p/keytool-iui/
 *
 * This software is the confidential and proprietary information of RagingCat Project.
 * You shall not disclose such confidential information and shall use it only in
 * accordance with the terms of RagingCat Project's license agreement.
 *
 * THE SOFTWARE IS PROVIDED AND LICENSED "AS IS" WITHOUT WARRANTY OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
 *
 * LICENSE FOR THE SOFTWARE DOES NOT INCLUDE ANY CONSIDERATION FOR ASSUMPTION OF RISK
 * BY KEYTOOL IUI PROJECT, AND KEYTOOL IUI PROJECT DISCLAIMS ANY AND ALL LIABILITY FOR INCIDENTAL
 * OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR OPERATION OF OR INABILITY
 * TO USE THE SOFTWARE, EVEN IF KEYTOOL IUI PROJECT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 
 *
 */
 
 
 package com.google.code.p.keytooliui.shared.swing.panel;

/**
    known subclasses:
    . PViewerFileTextHtmlbs
    . PViewerFileTextRtfAbs
**/


import com.google.code.p.keytooliui.shared.lang.*;
import com.google.code.p.keytooliui.shared.swing.toolbar.*;
import com.google.code.p.keytooliui.shared.swing.scrollpane.*;

import java.awt.event.*;
import java.awt.*;


abstract public class PViewerFileTextAbs extends PViewerFileAbs implements
    ActionListener
{   
    // ------
    // PUBLIC
    
    public void destroy()
    {   
        super.destroy();
            
        if (super._nsl_ != null)
        {
            ((SPViewerFileTextAbs) super._nsl_).destroy();
            super._nsl_ = null;
        }
    }

	
	public void actionPerformed(ActionEvent evtAction)
    {
        String strMethod = "actionPerformed(evtAction)";
	    
	    if (evtAction.getSource() instanceof com.google.code.p.keytooliui.shared.swing.button.BESPrint24 ||
	        evtAction.getSource() instanceof com.google.code.p.keytooliui.shared.swing.menuitem.MIPrint)
	    {
	        if (super._nsl_ != null)
            {
                 if (! ((SPViewerFileTextAbs) super._nsl_).doPageUrlTextPrint())
                    MySystem.s_printOutExit(this, strMethod, "failed");
            }
	        
	        return;
	    }

	    MySystem.s_printOutExit(this, strMethod, "unknown source");
	}
    
    // ----
    
    // ---------
    // PROTECTED
    
    protected PViewerFileTextAbs(
        ActionListener actListenerParent,
        Component cmpFrameOwner, 
        String strTitleApplication)
    {
        super(cmpFrameOwner, strTitleApplication);
        
        super._tbr_ = new TBViewerFileText(
            actListenerParent, // catching exit
            (ActionListener) this  // catching print
            );
    }
}